/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.ufrn.cerescaico.sepe.actions.admin;

import br.ufrn.cerescaico.sepe.actions.SepeAction;
import br.ufrn.cerescaico.sepe.beans.Participante;
import br.ufrn.cerescaico.sepe.beans.Trabalho;
import br.ufrn.cerescaico.sepe.bo.SepeException;
import br.ufrn.cerescaico.sepe.dao.util.PagerBean;
import java.util.List;
import org.apache.log4j.Logger;

/**
 * Action de trabalho do sistema SEPE.
 * @author Taciano de Morais Silva - tacianosilva@gmail.com
 * @version 27/08/2010, 19:04, Taciano de Morais Silva - tacianosilva@gmail.com
 * @since 27/08/2010, 09h22m
 */
public class TrabalhoAction extends SepeAction {

    /**
     * Logger da classe.
     */
    private Logger logger = Logger.getLogger(TrabalhoAction.class);
    private Trabalho trabalho;
    /**
     * Lista de cursos.
     */
    private List<Trabalho> trabalhos;

    /**
     * Carrega a lista de trabalhos do sistema.
     * @return O result que aponta para a página destino.
     * @see com.opensymphony.xwork2.ActionSupport#execute()
     */
    @Override
    public String execute() throws Exception {
        try {
            logger.info("execute()");
            PagerBean pager = createPagerBean();
            setTrabalhos(getSepe().listarTrabalhos(pager));
            setTotalRegistros(pager.getTotalResults());
        } catch (SepeException ex) {
            logger.error(ex.getMessage(), ex);
            addActionError(getText(ex.getMessage()));
        }
        return SUCCESS;
    }

    public List<Trabalho> getTrabalhos() {
        return trabalhos;
    }

    public void setTrabalhos(List<Trabalho> trabalhos) {
        this.trabalhos = trabalhos;
    }

    /**
     * @return
     */
    public Integer getIdTrabalho() {
        if (trabalho != null) {
            return trabalho.getId();
        }
        return null;
    }

    /**
     * @param id
     */
    public void setIdTrabalho(Integer id) {
        if (trabalho == null) {
            trabalho = new Trabalho();
        }
        trabalho.setId(id);
    }
}
